2016 project-added to repo
[EroBeats.git] / Djinn and Tonic - Erobeats / endcard.cpp
blobba9bad0f5f7aa831f37515f60c90420139f83055
1 #include "EndCard.h"
2 #include "RescourceKeys.h"
3 #include "ScreenNames.h"
4 /*ALL LEVELS SHOULD END UP AT THE END CARD WHICH IS A SERIES OF CONDITIONALS THAT REFLECT BOTH LEVEL AND SCORE
5 */
7 EndCard::EndCard(int* scrn, int stats, FileIO* fileIO, ResourceMaster* resourcePointer, int gameType, int level)
9 fio = fileIO;
10 rsc = resourcePointer;
11 renderer = rsc->rendPtr;
12 storageData = stats;
13 image = level;
14 screen = scrn;
15 GT = gameType;
17 font = new Fonts(0, rsc);
18 font->loadFont(SDL_Color{ 100,100,100,00 }, rsc->gameText.at(NextText), 2);
19 textComment = font->getTexture();
20 rectComment = { font->prcnt(0, 'x'),font->prcnt(0, 'x'),font->prcnt(0.5, 'x'),font->prcnt(0.5, 'x') };
22 rectEndCard = { font->prcnt(0, 'x'),font->prcnt(0, 'y'),font->prcnt(1, 'x'),font->prcnt(1, 'y') };
24 saveLoadData();
26 rsc->bptr->playBGM(MenuSong);
27 gameLoop();
30 EndCard::~EndCard()
34 void EndCard::update() {
35 if (mouseClicked) {
36 running = false;
37 *screen = LevelSelectScreen;
40 void EndCard::play(){
41 if (mouseClicked) {
42 rsc->bptr->playBGM(MenuClickSFX);
45 void EndCard::render() {
46 SDL_RenderClear(renderer);
48 SDL_RenderCopy(renderer, textEndCard, NULL, &rectEndCard);
49 SDL_RenderCopy(renderer, textComment, NULL, &rectComment);
51 SDL_RenderPresent(renderer);
54 void EndCard::saveLoadData() {
55 SDL_RenderClear(renderer);
57 font->loadFont(SDL_Color{ 255,255,255,00 }, rsc->gameText.at(SavingText), 0);
58 SDL_Texture* textLoading = font->getTexture();
59 SDL_RenderCopy(renderer, textLoading, NULL, &rectEndCard);
61 SDL_RenderPresent(renderer);
63 SDL_DestroyTexture(textLoading);
65 int scoreCap = 100;
66 if ((storageData > 0 && GT == 1) || (storageData > scoreCap && GT == 2)) {
67 textEndCard = fio->loadSpecificImage("EC.zip", image);
68 fio->saveUserData( , LevelUnlocks);
69 fio->saveUserData( , LevelScores);
71 else {
72 textEndCard = fio->loadSpecificImage("EC.zip", 666);
73 fio->saveUserData( , LevelScores);
76 fio->saveScoreData(GT, storageData, image);
78 SDL_Delay(500);
82 void EndCard::close() {
83 SDL_DestroyTexture(textEndCard);
84 SDL_DestroyTexture(textComment);
85 fadeOutMusic(100);
86 SDL_Delay(150);